package com.ruoyi.oto.domain.vo;

import cn.hutool.core.util.ObjUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.annotation.TableField;
import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.oto.constants.DemandsDepartStatus;
import com.ruoyi.oto.constants.YsOpinion;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

@EqualsAndHashCode(callSuper = true)
@Data
public class DemandsDepartVO extends BaseEntity<DemandsDepartVO> {
    /**
     * 受理id
     */
    private Long acceptId;
    /**
     * 所属诉求id
     */
    private Long demandsId;
    /**
     * 诉求标题
     */
    private String demandsTitle;
    /**
     * 诉求说明
     */
    private String demandsContent;
    /**
     * 联企人员或者部门账号审核备注
     */
    private String checkMessage;
    /**
     * 图片地址
     */
    private String images;

    public List<String> getImages() {
        return !ObjUtil.isEmpty(images)?Arrays.asList(images.split(",")):new ArrayList<>();
    }

    /**
     * 答复部门id
     */
    private Long branchId;
    /**
     * 答复部门
     */
    private String branchName;
    /**
     * 0 未受理 ，1 已受理，2 已转部门，3 已答复
     */
    private Integer status;
    /**
     * 答复内容
     */
    private String acceptContent;
    /**
     * 转入部门id
     */
    private Long upBranchId;
    /**
     * 转入部门名
     */
    private String upBranchName;
    /**
     * 转出部门id
     */
    private Long toBranchId;
    /**
     * 转出部门名
     */
    private String toBranchName;

    /**
     * 企业id
     */
    private Long companyId;
    /**
     * 企业名称
     */
    private String companyName;
    /**
     * 联企人员id
     */
    private Long memberId;
    /**
     * 联企人员名
     */
    private String memberName;
    /**
     * 企业联系人
     */
    private String contact;
    /**
     * 企业联系电话
     */
    private String contactPhone;


    private Integer ysStatus;

    @TableField(exist = false)
    private String currentStatus;

    public String getCurrentStatus() {
        if(status== DemandsDepartStatus.未处置){
            return "未处置";
        }
        else if(status==DemandsDepartStatus.受理_处置){
            return "处置中";
        }
        else if(status==DemandsDepartStatus.驳回_转部门){
            if(ysStatus== YsOpinion.受理中){
                if(StrUtil.isNotEmpty(toBranchName)){
                    return "转部门到"+toBranchName+"（营商中心受理中）";
                }
                return "驳回（营商中心受理中）";
            }
            else if(ysStatus==YsOpinion.同意){
                if(StrUtil.isNotEmpty(toBranchName)){
                    return "已转部门到"+toBranchName;
                }
                return "已驳回";
            }
        }
        else if(status==DemandsDepartStatus.完成){
            if(ysStatus== YsOpinion.受理中){
                return "完成（营商中心受理中）";
            }
            else if(ysStatus==YsOpinion.同意){
                return "已完成";
            }
        }
        return "";
    }
}
